home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 7 / Night Owl Shareware (NOPV7)(Night Owl Publisher Inc.)(1992).bin / 038a / bash1_12.arj / BASH1-12.TAR / bash-1.12 / examples / functions / basename < prev    next >
Text File  |  1991-10-11  |  645b  |  24 lines

  1. # Date: Fri, 11 Oct 91 11:22:36 edt
  2. # From: friedman@gnu.ai.mit.edu
  3. # To: bfox@gnu.ai.mit.edu
  4.  
  5. # A replacement for basename(1).  Not all the systems I use have this
  6. # program.  Usage: basename [path] {extension}
  7. function basename ()
  8. {
  9.  local path="$1"
  10.  local suffix="$2"
  11.  local tpath="${path%/}"
  12.  
  13.     # Strip trailing '/' characters from path (unusual that this should
  14.     # ever occur, but basename(1) seems to deal with it.)
  15.     while [ "${tpath}" != "${path}" ]; do
  16.        tpath="${path}"
  17.        path="${tpath%/}"
  18.     done
  19.  
  20.     path="${path##*/}"       # Strip off pathname
  21.     echo ${path%${suffix}}   # Also strip off extension, if any.
  22. }
  23.  
  24.